# 云胡的编程随笔第 1 期

# 一、点滴记录

  1. 数据表如果需要存储 emoji 表情,那么数据表在创建时可以指定字符集为 utf8mb4COLLATE 会指定字符串的排列方式,utf8mb4_unicode_ci 不区分大小写。

    -- 创建表时指定
    CREATE TABLE messages (
        id INT AUTO_INCREMENT PRIMARY KEY,
        xxxx yyy
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
    
    1
    2
    3
    4
    5
  2. 前端获取当前时间

    // 1. 格式化为 yyyy-MM-dd HH:mm:ss
    const nowTime = new Date().toISOString().replace('T', ' ').substring(0, 19);
    
    // 2. 使用 dayjs 
    const nowTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
    
    1
    2
    3
    4
    5
  3. javajavascript 的时区遵守 INNA 时区数据库,中国是用 Asia/Shanghai

  4. cursor 使用技巧

    1. 在某个方法上使用 /optimize 命令 可以分析,识别并优化代码性能,然后可以重构我们的代码使其通俗易懂,可以减少冗余的中间代码。

    2. 在某个方法上使用 /explain 可以对这个方法进行详细的解释。

    3. 在提问时加上 @Codebase 可以理解代码库的整体结构和依赖关系,可以在整体的视角下进行提问,可以跨文件理解,然后也可以全局搜索特定功能的位置。

  5. windows 查看正在监听的端口

    netstat -ano | findstr LISTENING
    
    1

    查看指定端口

    netstat -ano | findstr ":8080"
    
    1
  6. 将前端链接用 cURL (bash) 复制可以在 postman 中导入,方便测试后端接口。

  7. vue 的计算属性可以自动缓存,只有依赖的响应式数据变化时才会重新计算,而函数每一次调用都会计算。

  8. Spring 中 Bean 的生命周期是指:Bean 在 Spring(IoC)中从创建到销毁的整个过程。

    Spring 中 Bean 的生命周期主要包含以下 5 部分:

    实例化:为 Bean 分配内存空间;

    设置属性:将当前类依赖的 Bean 属性,进行注入和装配;

    初始化:执行各种通知;

    执行初始化的前置方法;

    执行初始化方法;

    执行初始化的后置方法。

    使用 Bean:在程序中使用 Bean 对象;

    销毁 Bean:将 Bean 对象进行销毁操作。

  9. JavaScript 中的对象属性简写语法(Object Property Shorthand)。

    在 ES6(ES2015)中引入的这个语法特性,当对象的属性名和变量名相同时,可以简写。

    // 完整写法
        const obj = {
        provinceId: provinceId,
        provinceName: provinceName
        };
    
        // 简写语法(ES6+)
        const obj = {
        provinceId,
        provinceName
        };
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
  10. MySQL 设置主机给其他用户访问,在 mysql 库的 user 表中的 host 列的 localhost 改为 % 即可。

# 二、发现

  1. 免费下载歌曲

https://mp3juice.co/ (opens new window)

  1. MCP 终极指南

https://guangzhengli.com/blog/zh/model-context-protocol (opens new window)

  1. MCP 资源合集

https://github.com/yzfly/Awesome-MCP-ZH (opens new window)